package com.jerry.manager.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jerry.common.annotation.Excel;
import com.jerry.common.core.domain.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 学生信息对象 students
 *
 * @author 王永发
 * @date 2025-05-27
 */
@ApiModel("学生信息")
public class Students extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    @ApiModelProperty("编号")
    private String id;

    /** 学号 */
    @ApiModelProperty("学号")
    @Excel(name = "学号")
    private String studentNo;

    /** 姓名 */
    @ApiModelProperty("姓名")
    @Excel(name = "姓名")
    private String name;

    /** 民族 */
    @ApiModelProperty("民族")
    @Excel(name = "民族")
    private Long nation;

    /** 性别 */
    @ApiModelProperty("性别")
    @Excel(name = "性别")
    private String gender;

    /** 出生日期 */
    @ApiModelProperty(value="出生日期",example = "2021-09-10")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthdate;

    /** 学生学历层次 */
    @ApiModelProperty("学生学历层次")
    @Excel(name = "学生学历层次")
    private String educationLeve;

    /** 生源地 */
    @ApiModelProperty("生源地")
    @Excel(name = "生源地")
    private String regionId;

    /** 专业/研究方向/院系 */
    @ApiModelProperty("专业/研究方向/院系")
    @Excel(name = "专业/研究方向/院系")
    private Long departmentId;

    /** 入学年份 */
    @ApiModelProperty("入学年份")
    @Excel(name = "入学年份")
    private String grade;

    /** 是否为优秀学生 */
    @ApiModelProperty("是否为优秀学生")
    @Excel(name = "是否为优秀学生")
    private String isOutstanding;

    /** 是否为贫困生 */
    @ApiModelProperty("是否为贫困生")
    @Excel(name = "是否为贫困生")
    private String isPoverty;

    /** $column.columnComment */
    @ApiModelProperty("是否为贫困生")
    private Long collageId;

    /** 延迟毕业的年数 */
    @ApiModelProperty("延迟毕业的年数")
    @Excel(name = "延迟毕业的年数")
    private Long delayedYears;

    /** 毕业后的就业去向 */
    @ApiModelProperty("毕业后的就业去向")
    @Excel(name = "毕业后的就业去向")
    private String employmentType;

    /** 工作单位 */
    @ApiModelProperty("工作单位")
    @Excel(name = "工作单位")
    private String employmentUnit;

    /** 是否为赴西部和基层就业 */
    @ApiModelProperty("是否为赴西部和基层就业")
    @Excel(name = "是否为赴西部和基层就业")
    private String west;

    /** 赴西部和基层就业状况 */
    @ApiModelProperty("赴西部和基层就业状况")
    @Excel(name = "赴西部和基层就业状况")
    private String westState;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setStudentNo(String studentNo)
    {
        this.studentNo = studentNo;
    }

    public String getStudentNo()
    {
        return studentNo;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setNation(Long nation)
    {
        this.nation = nation;
    }

    public Long getNation()
    {
        return nation;
    }
    public void setGender(String gender)
    {
        this.gender = gender;
    }

    public String getGender()
    {
        return gender;
    }
    public void setBirthdate(Date birthdate)
    {
        this.birthdate = birthdate;
    }

    public Date getBirthdate()
    {
        return birthdate;
    }
    public void setEducationLeve(String educationLeve)
    {
        this.educationLeve = educationLeve;
    }

    public String getEducationLeve()
    {
        return educationLeve;
    }
    public void setRegionId(String regionId)
    {
        this.regionId = regionId;
    }

    public String getRegionId()
    {
        return regionId;
    }
    public void setDepartmentId(Long departmentId)
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId()
    {
        return departmentId;
    }
    public void setGrade(String grade)
    {
        this.grade = grade;
    }

    public String getGrade()
    {
        return grade;
    }
    public void setIsOutstanding(String isOutstanding)
    {
        this.isOutstanding = isOutstanding;
    }

    public String getIsOutstanding()
    {
        return isOutstanding;
    }
    public void setIsPoverty(String isPoverty)
    {
        this.isPoverty = isPoverty;
    }

    public String getIsPoverty()
    {
        return isPoverty;
    }
    public void setCollageId(Long collageId)
    {
        this.collageId = collageId;
    }

    public Long getCollageId()
    {
        return collageId;
    }
    public void setDelayedYears(Long delayedYears)
    {
        this.delayedYears = delayedYears;
    }

    public Long getDelayedYears()
    {
        return delayedYears;
    }
    public void setEmploymentType(String employmentType)
    {
        this.employmentType = employmentType;
    }

    public String getEmploymentType()
    {
        return employmentType;
    }
    public void setEmploymentUnit(String employmentUnit)
    {
        this.employmentUnit = employmentUnit;
    }

    public String getEmploymentUnit()
    {
        return employmentUnit;
    }
    public void setWest(String west)
    {
        this.west = west;
    }

    public String getWest()
    {
        return west;
    }
    public void setWestState(String westState)
    {
        this.westState = westState;
    }

    public String getWestState()
    {
        return westState;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("studentNo", getStudentNo())
                .append("name", getName())
                .append("nation", getNation())
                .append("gender", getGender())
                .append("birthdate", getBirthdate())
                .append("educationLeve", getEducationLeve())
                .append("regionId", getRegionId())
                .append("departmentId", getDepartmentId())
                .append("grade", getGrade())
                .append("isOutstanding", getIsOutstanding())
                .append("isPoverty", getIsPoverty())
                .append("collageId", getCollageId())
                .append("delayedYears", getDelayedYears())
                .append("employmentType", getEmploymentType())
                .append("employmentUnit", getEmploymentUnit())
                .append("west", getWest())
                .append("westState", getWestState())
                .toString();
    }
}